<?php
	
	
	function listarProfessorescomRoteiro(){
		session_start();
		
		include('../../banco.inc');// or die("Erro ao tentar incluir arquivo do banco de dados");
		
		//array que vai armazenar a lista de professores que têm roteiro(s) cadastrado(s)
		$listaProfessores[] = null;
		//Seleciona os ids dos autores dos roteiros cadastrados
		$result = mysql_query("select professor from roteiro");
		//Conta as linhas encontrados em $result para realizar o for
		$numLinhas = mysql_num_rows($result);
		//armazena o primeiro id da lista encontrada. A condição if é para garantir que não seja lançada uma excessão caso não exista nenhum roteiro cadastrado
		if ($numLinhas > 0) 
			$idProfessores = mysql_result($result,0,0);
		//armazena na variavel $idProfessores a listga de id's dos autores de reoteiro. Servirá de auxilio na query com 'in'
		for ($i = 1; $i < mysql_num_rows; $i++){
			
			$idProfessores = $idProfessores.','.mysql_result($result,$i,0);
			
		}	
		
		$resultProfessores = mysql_query("select login,nome,escola from usuario where id in ($idProfessores)");
		
		while ($linha = mysql_fetch_object($resultProfessores)){
			$listaProfessores[] = $linha;
		}
		mysql_free_result($resultProfessores);
		//retorna a lista de professores que têm roteiro ou null se nenhum roteiro for encontrado
		print_r($listaProfessores);
		//return $listaProfessores;
		
	}
	
	function testandoBD(){
		session_start();
				
		echo $_SESSION['id']." session ID";
		
		$result = mysql_query("select * from usuario");
		print_r($result);
		echo "<br><h1>FIM testandoBD</h1>";
	}
	
	function listaRoteirosProfessor(){
    	
		session_start();
	
		include('../../banco.inc');
		
		//armazena o id do professor que está listando seus roteiros
		$idProfessor = 1;
        
        $resultado = mysql_query("SELECT id, titulo FROM roteiro WHERE professor = $idProfessor");
        
		$ArrayRetorno[] = null;
		while ($linha = mysql_fetch_object($resultado)) {
               $ArrayRetorno[] = $linha;
        }
        //
        mysql_free_result($resultado);
		
		mysql_close($conect);
		print_r($ArrayRetorno);
		return $ArrayRetorno;
   }
   
   	function ListPerguntas(){
		session_start();
		include('../../banco.inc');
		
		//pega o id do professor na sessão
		$idProfessor = $_SESSION['id'];
		$idProfessor = 1;
		$sql = "SELECT p.id as idPergunta, p.pergunta as pergunta, r.titulo  as titulo FROM perguntas p join roteiro r on p.roteiro = r.id WHERE r.professor = $idProfessor ORDER BY p.roteiro";
		
		$perguntas = mysql_query($sql);
			
		//inclui linhas no array que será retornado
		while ($linha = mysql_fetch_object($perguntas)){
            $ArrayPergByRoteiro[]=$linha;
        }
		mysql_free_result($perguntas);
		
		mysql_close($conect);
		
		print_r($ArrayPergByRoteiro); return;
		
		return $ArrayPergByRoteiro;
				
	}	
	//Versao de lista de Titulos colocado em um array de objetos (n funcionou)
	function ListTituloRoteiroByProfessorObject(){
		
		session_start();
		
		include("../../banco.inc");
		
		$idProfessor = $_SESSION['id'];
		
		$result = mysql_query("SELECT titulo FROM roteiro WHERE professor = $idProfessor");
		
		$ArrayTitulos[] = null;
		
		while ($linha = mysql_fetch_object($result)){
			$ArrayTitulos[] = $linha;
		}
		
		mysql_free_result($result);
		mysql_close($conect);
		
		return $ArrayTitulos;
		
	}	
	
	function ListTituloRoteiroByProfessor(){
		
		session_start();
		
		include("../../banco.inc");
		
		$idProfessor = 1;// $_SESSION['id'];
		
		$result = mysql_query("SELECT titulo FROM roteiro WHERE professor = $idProfessor");
		
		$ArrayTitulos[] = null;
		
		$numLinhas = mysql_num_rows($result);
		
		for ($i = 0; $i < $numLinhas; $i++){
			$ArrayTitulos[$i] = mysql_result($result,$i,0);
			//echo $ArrayTitulo[$i]." Titulo $i<br>";
		}
		
		mysql_close($conect);
		print_r($ArrayTitulos);exit;
		return $ArrayTitulos;
		
	}
	
	function buscarPerguntaById($idPergunta){
				
		include("../../banco.inc");
		session_start();
		
		$result = mysql_query("SELECT resposta FROM respostas WHERE pergunta = $idPergunta");
		
		$respostas[] = null;
		
		$numLinhas = mysql_num_rows($result);
		
		for ($i =0; $i < $numLinhas; $i++){
			$respostas[$i] = mysql_result($result, $i, 0);
		}	
		
		mysql_close($conect);
		print_r($respostas);exit;
		return $respostas;
		
	}	
	
	function listProfessorRoteiro($tipoFiltro, $valFiltro){
			
		include('../../banco.inc');// or die("Erro ao tentar incluir arquivo do banco de dados");
		
		//array que vai armazenar a lista de professores que têm roteiro(s) cadastrado(s)
		$listaProfessores[] = null;
		
		//Seleciona os ids dos autores dos roteiros cadastrados
		$result = mysql_query("SELECT professor FROM roteiro");
					
		//Conta as linhas encontrados em $result para realizar o for
		$numLinhas = mysql_num_rows($result);
		//armazena o primeiro id da lista encontrada. A condição if é para garantir que não seja lançada uma excessão caso não exista nenhum roteiro cadastrado
		if ($numLinhas > 0) 
			$idProfessores = mysql_result($result,0,0);
		//armazena na variavel $idProfessores a listga de id's dos autores de roteiro. Servirá de auxilio na query com 'in'
		for ($i = 1; $i < mysql_num_rows; $i++){
			
			$idProfessores = $idProfessores.','.mysql_result($result,$i,0);
			
		}	
		
		$sql = "SELECT * FROM usuario WHERE id IN ($idProfessores)";
		
		//se tipo do filtro estiver vazio deve litar todas as ocorrencias
		if ($tipoFiltro != ''){
			switch ($tipoFiltro){
				
				case "Usuario" : $sql = $sql." AND login LIKE '$valFiltro%'"; echo "<h1>CHEGOU AQUI</h1><br><br>";
								 break;
	
				case "nome" : $sql = $sql." AND nome LIKE '$valFiltro%' ";
							  break;	
	
				case "Escola" : $sql = $sql." AND escola LIKE '$valFiltro'% ";
								break;
				
				default : break; 
			}			
		}
		
		$resultProfessores = mysql_query($sql);
		
		while ($linha = mysql_fetch_object($resultProfessores)){
			$listaProfessores[] = $linha;
		}
		mysql_free_result($resultProfessores);
		
		print_r($listaProfessores); exit;
		
		//retorna a lista de professores que têm roteiro ou null se nenhum roteiro for encontrado
		return $listaProfessores;
				
	}	
	
	function listTitulosRoteirosUser(){
		session_start();
	
		include('../../banco.inc');
		
		//armazerá o id autor dos roteiros utilizados pelo usuario em questão
		$autorRoteiro = null;
		
    	//Armazenando o idUsuario que está na sessão. Caso seja nulo, usuário é convidado e idUsuario recebe valor 1.
		if ($_SESSION['id'] != null){
			$id = $_SESSION['id'];	
			//carregando professor do aluno
			$result = mysql_query("SELECT tipo,professor FROM usuario WHERE id = $id");
		
			if(mysql_result($result,0,0) == 'a' || mysql_result($result,0,0) == 'A'){
				//se for aluno, armazene o id do seu professor (autor dos roteiros que tal aluno utiliza)
				$autorRoteiro = mysql_result($result,0,1);				
			}
			else
				//testa se o usuário professor ou se o aluno não se relaciona com professor (o aluno, durante o cadastro, pode ter burlado esta etapa)
				if($autorRoteiro == null)
					$autorRoteiro = 1;
		}	
		else{
			$autorRoteiro = 1;
		}
		
		//selecionar os roteiros do autor armazenado
		$result = mysql_query("SELECT titulo FROM roteiro WHERE professor = $autorRoteiro");//

		//Testa se o professor do aluno cadastro algum roteiro
		if (! mysql_num_rows($result) > 0){		
		
			//se não cadastrou, devolver o PRIMEIRO roteiro padrão
			$result = mysql_query("SELECT titulo FROM roteiro PROFESSOR = 1");	
		
		}		
		
		//armazena a lista de titulos dos roteiros utilizados pelo usuário logado
		$listaTitulo[] = null;
		
		while($linha = mysql_fetch_object($result)){
			$roteiro[] = $linha;
		}	
		
		mysql_free_result($result);
		
		mysql_close($conect);
		
		print_r($roteiro);exit;
		
		return $roteiro;
		
	}
	
	function buscaPerguntas($idRoteiro, $numQuestao){
		
		include('../../banco.inc');
    	session_start();
		
		$ArrayPerg[] = null;
		
		//Testa se não existe nenhuma lista de perguntas na sessão
		if ($_SESSION['questoes'] == null){		
			//Busca Perguntas que se relacionam com o autor do roteiro usado pelo usuario	
			$result = mysql_query("SELECT id,pergunta,certa FROM perguntas WHERE roteiro = $idRoteiro order by id");
			$_SESSION['questoes'] = $result;			
			$_SESSION['qtdePerguntas'] = mysql_num_rows($result);
		}
	    
		//Se o número da questão($numQuestao) for menor que a quantidade de perguntas, retorna a pergunta+respostas+opcao correta
		if ( ( $numQuestao < $_SESSION['qtdePerguntas']) && ($_SESSION['qtdePerguntas'] > 0) ){
			
			//armazenando a pergunta no Array de retorno
			$ArrayPerg[0] = mysql_result($_SESSION['questoes'],$numQuestao,1);
			//armazenando a opçao correta no Array de retorno
			$ArrayPerg[5] = mysql_result($_SESSION['questoes'],$numQuestao,2);						
			//armazenando o id da pergunta corrente
			$idPerg = mysql_result($_SESSION['questoes'],$numQuestao,0);			
			//procura as opções de resposta da pergunta
			$resp = mysql_query("select resposta from respostas where pergunta = $idPerg");			
			
			//$numOpcoes deverá ser sempre igual a 4, pois são sempre gravadas quatro repostas para cada pergunta
			$numOpcoes = mysql_num_rows($resp);
			$i=0;
			while ($i<$numOpcoes){
				// a posicao 0 do Array, $ArrayPerg[0], contém a pergunta e a 5 a opção correta, de 1 a 4 conterá as opções
				$ArrayPerg[$i+1] = mysql_result($resp,$i,0);
				$i++;
			}
			//Retorna um valor >=0 indicando que não é o fim das questões			
			$ArrayPerg[6] = 0;
		}
		//Fim das questões, retorno negativo
		else{
			$ArrayPerg[6]=-1;
		}
			
		print_r($ArrayPerg);exit;
					
		return $ArrayPerg;
		
	}
	
	function leRoteiroById($idRoteiro){
		
		include("../../banco.inc");
		
		$result = mysql_query("SELECT conteudo FROM roteiro WHERE id = '$idRoteiro'");
		
		$texto = '';
		if (mysql_num_rows($result) > 0){
			$texto = mysql_result($result,0,0);
		}
		
		echo $texto; exit;
		
		return $texto;
		
	}
	
	function idSelectProfessor($idProfessor){
	
		session_start();
		
		include('../../banco.inc');
   	
		$result = false;
		
		if($_SESSION['id']!=null){
			
			$idUsuario = $_SESSION['id'];
										
			$result = mysql_query("UPDATE usuario SET professor = $idProfessor WHERE id = $idUsuario");
		}
				
		mysql_close($conect);

		if (!$result){
		echo "update não realizado";
			return false;
			
		}
		else{
					echo "update realizado";
			return true;

		}
	
	}
			
	function leRoteiro($discriminadorAmbiente){
		
		session_start();
	
		include('../../banco.inc');
		
		//armazerá o id autor dos roteiros utilizados pelo usuario em questão
		$autorRoteiro = null;
		
    	//Armazenando o idUsuario que está na sessão. Caso seja nulo, usuário é convidado e idUsuario recebe valor 1.
		if ($_SESSION['id'] != null){
			$id = $_SESSION['id'];	
			//carregando professor do aluno
			$result = mysql_query("SELECT tipo,professor FROM usuario WHERE id = $id");
		
			if(mysql_result($result,0,0) == 'a' || mysql_result($result,0,0) == 'A'){
				//se for aluno, armazene o id do seu professor (autor dos roteiros que tal aluno utiliza)
				$autorRoteiro = mysql_result($result,0,1);				
			}
			//testa se o usuário professor ou se o aluno não se relaciona com professor (o aluno, durante o cadastro, pode ter burlado esta etapa)
			if($autorRoteiro == null)
				$autorRoteiro = 1;
		}	
		else{
			$autorRoteiro = 1;
		}
    			
		//carregando roteiro do usuario, usuario seja convidado o roteiro será o padrão
        $result = mysql_query("SELECT * FROM roteiro WHERE professor = $autorRoteiro and discriminador_contexto = '$discriminadorAmbiente'");//

		//$texto armazenara o resultado da busca por roteiro
		$texto = '';

		//Testa se o professor do aluno cadastro algum roteiro
		if (mysql_num_rows($result) > 0){		
			$texto = mysql_result($result,0 ,2);
		}
		else{
			//se não cadastrou, devolver o PRIMEIRO roteiro padrão
			$result = mysql_query("SELECT * FROM roteiro WHERE professor = 1 and discriminador_contexto = '$discriminadorAmbiente'");	
		
		}		
	
		
		mysql_close($conect);
     	
		echo $texto; exit;
		
		//texto só deverá retornar '' (vazio) se o usuário padrão com os seus roteiros não estivereem cadastrados			
      	return $texto;
						 
	}
	
	function excluirPergunta($idPergunta){
		
		include("../../banco.inc");
		
		$result = mysql_query("DELETE FROM respostas WHERE pergunta = $idPergunta");		
		
		//se as respostas que se relacionam com a pergunta forem apagas, pagar a pergunta
		if ($result != false)
			//Qdo a pergunta é excluída no banco as respostas ligadas a ela tb são... a exclusão é em cascata		
			$result = mysql_query("DELETE FROM perguntas WHERE id =".$idPergunta);
		
		$retorno = true;
		if (!$result){
			$retorno = false;
			echo "falso, não apagou";
		}
		
		mysql_close($conect);
		print $retorno; exit;
		return $retorno;		
	}
	
	excluirPergunta(8);
	
	//leRoteiro('FUNCAO');
	
	//idSelectProfessor(1);
	
	echo "<br><br><br><br>";	
	session_start();
	print_r ($_SESSION);
	
	//leRoteiroById(3);
	
	//buscaPerguntas(2, 2);
	
	//leRoteiroById(4);
	
	//listTitulosRoteirosUser();
	
	//LeRoteiro();
	
	//listProfessorRoteiro('Usuario', 'XXX');
	
	//buscarPerguntaById(5);
	//ListPerguntas();
	
	//listarProfessorescomRoteiro();
	//echo "<br><br><br><br><br><br>";
	//testandoBD();
	
	//listaRoteirosProfessor();
	//ListPerguntas();
	
	//ListTituloRoteiroByProfessor();

?>
